/**
 * 
 */
package net.sf.stylestudio.uml.core.model;

/**
 * @author Sabuj Das | sabuj.das@gmail.com
 *
 */
public abstract class Relationship<From extends BaseType, To extends BaseType> extends BaseModel{

	private final From fromType;
	private final To toType;
	private Multiplicity<From, To> multiplicity;
	
	/**
	 * @param fromType
	 * @param toType
	 */
	public Relationship(From fromType, To toType) {
		this.fromType = fromType;
		this.toType = toType;
	}

	/**
	 * @return the fromType
	 */
	public From getFromType() {
		return fromType;
	}

	/**
	 * @return the toType
	 */
	public To getToType() {
		return toType;
	}

	/**
	 * @return the multiplicity
	 */
	public Multiplicity<From, To> getMultiplicity() {
		return multiplicity;
	}

	/**
	 * @param multiplicity the multiplicity to set
	 */
	public void setMultiplicity(Multiplicity<From, To> multiplicity) {
		this.multiplicity = multiplicity;
	}

}
